package com.example.redis.demo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.redis.demo.model.User;
import com.example.redis.demo.request.RefreshTokenRequest;
import com.example.redis.demo.request.UpdateUserInfoRequest;
import com.example.redis.demo.request.UserLoginRequest;
import com.example.redis.demo.request.UserRegisterRequest;
import com.example.redis.demo.response.UserAuthResponse;
import com.example.redis.demo.response.UserInfoUpdateResponse;
import com.example.redis.demo.response.UserRegisterResponse;

public interface UserService extends IService<User> {


    /**
     * 登录接口
     *
     * @param userLoginRequest
     * @return
     */
    UserAuthResponse login(UserLoginRequest userLoginRequest);


    /**
     * 用户注册
     *
     * @param userRegisterRequest
     * @return
     */
    UserRegisterResponse register(UserRegisterRequest userRegisterRequest);


    /**
     * 这个是访问受限资源的接口
     *
     * @param updateUserInfoRequest
     * @return
     */
    UserInfoUpdateResponse updateUserInfo(UpdateUserInfoRequest updateUserInfoRequest);


    /**
     * 刷新token的接口
     *
     * @param refreshTokenRequest
     * @return
     */
    UserAuthResponse refreshToken(RefreshTokenRequest refreshTokenRequest);

}
